#pragma once

namespace bs
{
	enum CommandType
	{
		UI_CMD,
		AI_CMD,
		ANI_CMD,
		LGI_CMD,
		WIN_MSG_CMD
	};

// 	enum UiCommands
// 	{
// 		UI_MENU_MOVE,
// 		UI_MENU_ATTACK,
// 		UI_MENU_REST,
// 
// 		UI_MOVE,
// 		UI_ATTACK
// 	};
// 
// 	enum AiCommands
// 	{
// 		//
// 	};

	enum AniCommands
	{
		ANI_BEGIN,
		ANI_END
	};

	enum LgiCommands
	{
		LG_EXPLODE
	};

// 	enum LgiCommands
// 	{
// 		LG_ACTOR_PLACE,
// 		LG_ACTOR_MOVE,
// 		LG_ACTOR_ATTACK,
// 		LG_ACTOR_DAMAGE
// 	};

	enum WinMsgCommands
	{
		// inputmanager send these commands to listeners
		WIN_MSG_LBTN_STATUS,
		WIN_MSG_RBTN_STATUS,
		WIN_MSG_MBTN_STATUS,
		WIN_MSG_LBTN_CLK,
		WIN_MSG_RBTN_CLK,
		WIN_MSG_MBTN_CLK,
		WIN_MSG_CURSOR_WINPOS,

		// inputmanager accept these commands and respond value
		WIN_MSG_KEY_STATUS,         // src should be the key, dst stores the status
		WIN_MSG_CURSOR_SCRPOS      // param stores the value
	};
}